home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 2 / Gold Medal Software Volume 2 (Gold Medal) (1994).iso / os2 / confcopy.arj / CONFCOPY.PAS < prev    next >
Pascal/Delphi Source File  |  1994-01-08  |  2KB  |  99 lines

  1. program backup_af_opstartsfiler; { By John B. Jacobsen -  1/8  1994 }
  2.                                  { CopyRight John B. Jacobsen }
  3.                                  { Public Domain program }
  4. {$M $4000,0,0 }
  5.  
  6. Uses DOS, Crt;
  7.  
  8. const
  9.    confignavn   = 'D:\CONFIG.SYS';
  10.    nrfilnavn    = 'C:\OS2\SYS\CONFIG.001';
  11.    gemmedir     = 'C:\OS2\SYS\';
  12.    shell        = 'D:\OS2\MDOS\COMMAND.COM';
  13.  
  14. var
  15.    textfil      : text;
  16.    f            : file of byte;
  17.    ext          : string[3];
  18.    filnavn      : string[65];
  19.    cmdlinie     : string;
  20.    svar         : (ja,nej);
  21.    aktuel       : byte;
  22.    stoerrelse   : longint;
  23.  
  24. procedure hent_aktuelt_nr;
  25.  
  26. begin
  27.    aktuel:=1;
  28.    assign(f,nrfilnavn); {$I-} reset(f); {$I+}
  29.    if ioresult <> 0 then exit;
  30.    stoerrelse:=filesize(f);
  31.    seek(f,stoerrelse-1); read(f,aktuel); close(f);
  32. end;
  33.  
  34. procedure er_de_ens;
  35.  
  36. var
  37.    time, oldtime : longint;
  38.  
  39. begin
  40.    svar:=nej;
  41.    str(aktuel-1,ext);
  42.    case length(ext) of
  43.      1 : ext:='00'+ext;
  44.      2 : ext:='0'+ext;
  45.    end;
  46.    assign(f,confignavn);
  47.    reset(f); getftime(f,time); close(f);
  48.    filnavn:=gemmedir+'CONFIG.'+ext;
  49.    assign(f,filnavn); {$I-}   reset(f); {$I+}
  50.    if ioresult <> 0 then exit;
  51.    getftime(f,oldtime); close(f);
  52.    if oldtime=time then svar:=ja;
  53. end;
  54.  
  55. procedure tael_op;
  56.  
  57. var
  58.    EOF, TWO  : byte;
  59.    time      : longint;
  60.  
  61. begin
  62.    EOF:=26; TWO:=2;
  63.    assign(f,nrfilnavn); reset(f);
  64.    getftime(f,time); stoerrelse:=filesize(f);
  65.    if aktuel=1 then
  66.      begin
  67.        seek(f,stoerrelse);
  68.        write(f,EOF,TWO);
  69.      end
  70.    else
  71.      begin
  72.        seek(f,stoerrelse-1);
  73.        inc(aktuel);
  74.        write(f,aktuel);
  75.      end;
  76.    close(f); reset(f); setftime(f,time); close(f);
  77. end;
  78.  
  79. procedure kopier;
  80.  
  81. begin
  82.   str(aktuel,ext);
  83.   case length(ext) of
  84.     1 : ext:='00' + ext;
  85.     2 : ext:='0'  + ext;
  86.   end;
  87.   cmdlinie:='/c copy '+confignavn + ' ' + gemmedir+'CONFIG.'+ext +' > nul';
  88.   exec(shell,cmdlinie);
  89.   writeln('CONFIG.SYS backuped to',gemmedir,' as no: ',ext);
  90.   tael_op;
  91. end;
  92.  
  93. begin
  94.   writeln('Backup of CONFIG.SYS / (c) John B. Jacobsen');
  95.   hent_aktuelt_nr;
  96.   er_de_ens;
  97.   if svar=nej then kopier else writeln('Copying not nescarery !');
  98. end.
  99.